package com.gpframework.module.purchase.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.gpframework.common.annotation.Excel;
import java.util.Date;
import java.math.BigDecimal;

/**
 * @ClassName GpPurchaseQualityFlowDetailsVo
 * @Author gpframework
 * @Date 2024-01-09
 * @Version 1.0.0
 * @Description 采购品质问题跟踪明细Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpPurchaseQualityFlowDetailsVo {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 品牌id */
    @Excel(name = "品牌id")
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 品质反馈id */
    @Excel(name = "品质反馈id")
    @ApiModelProperty("品质反馈id")
    private Long qualityFeedbackId;

    /** 来料检验单id */
    @Excel(name = "来料检验单id")
    @ApiModelProperty("来料检验单id")
    private Long incomingInspectId;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String sn;

    /** 发货日期 */
    @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("发货日期")
    private Date sendOutGoodsTime;

    /** 胚布基础表id */
    @Excel(name = "胚布基础表id")
    @ApiModelProperty("胚布基础表id")
    private Long supplierGreyClothId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /** 批号 */
    @Excel(name = "批号")
    @ApiModelProperty("批号")
    private String batchNo;

    /** 产品基础表id */
    @Excel(name = "产品基础表id")
    @ApiModelProperty("产品基础表id")
    private Long produceProductId;

    /** 产品名 */
    @Excel(name = "产品名")
    @ApiModelProperty("产品名")
    private String productName;

    /** 颜色 */
    @Excel(name = "颜色")
    @ApiModelProperty("颜色")
    private String colour;

    /** 缸号 */
    @Excel(name = "缸号")
    @ApiModelProperty("缸号")
    private String dyeVatNo;

    /** 数量（条数） */
    @Excel(name = "数量", readConverterExp = "条=数")
    @ApiModelProperty("数量（条数）")
    private Integer quantity;

    /** 数量（空码） */
    @Excel(name = "数量", readConverterExp = "空=码")
    @ApiModelProperty("数量（空码）")
    private Integer emptyQuantity;

    /** 问题表述 */
    @Excel(name = "问题表述")
    @ApiModelProperty("问题表述")
    private String problemDescription;

    /** 处理方案 */
    @Excel(name = "处理方案")
    @ApiModelProperty("处理方案")
    private String processingScheme;

    /** 处理进度 */
    @Excel(name = "处理进度")
    @ApiModelProperty("处理进度")
    private String processingProgress;

    /** 跟进情况1 */
    @Excel(name = "跟进情况1")
    @ApiModelProperty("跟进情况1")
    private String followUpSituationOne;

    /** 跟进情况2 */
    @Excel(name = "跟进情况2")
    @ApiModelProperty("跟进情况2")
    private String followUpSituationTwo;

    /** 完成情况 */
    @Excel(name = "完成情况")
    @ApiModelProperty("完成情况")
    private String completionSituation;

    /** 完成日期 */
    @Excel(name = "完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("完成日期")
    private Date completionTime;

    /** 退货日期 */
    @Excel(name = "退货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("退货日期")
    private Date returnOfGoodsTime;

    /** 退货方式 */
    @Excel(name = "退货方式")
    @ApiModelProperty("退货方式")
    private String returnOfGoodsType;

    /** 条数 */
    @Excel(name = "条数")
    @ApiModelProperty("条数")
    private Integer stripQuantity;

    /** 空码数/公斤数 */
    @Excel(name = "空码数/公斤数")
    @ApiModelProperty("空码数/公斤数")
    private Integer emptyOrKilogramQuantity;

    /** 包数 */
    @Excel(name = "包数")
    @ApiModelProperty("包数")
    private Integer packageQuantity;

    /** 物流单号 */
    @Excel(name = "物流单号")
    @ApiModelProperty("物流单号")
    private String logisticsTrackingNo;

    /** 到货日期 */
    @Excel(name = "到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("到货日期")
    private Date arrivalTime;

    /** 收货人id */
    @Excel(name = "收货人id")
    @ApiModelProperty("收货人id")
    private Long receiveId;

    /** 收货人名称 */
    @Excel(name = "收货人名称")
    @ApiModelProperty("收货人名称")
    private String receiveName;

    /** 收货时间 */
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("收货时间")
    private Date receiveTime;

    /** 跟单人id */
    @Excel(name = "跟单人id")
    @ApiModelProperty("跟单人id")
    private Long followUpId;

    /** 跟单人名称 */
    @Excel(name = "跟单人名称")
    @ApiModelProperty("跟单人名称")
    private String followUpName;

    /** 跟单时间 */
    @Excel(name = "跟单时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("跟单时间")
    private Date followUpTime;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remarks;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /** 操作人名称 */
    @Excel(name = "操作人名称")
    @ApiModelProperty("操作人名称")
    private String operatorName;

    /** 操作人编号 */
    @Excel(name = "操作人编号")
    @ApiModelProperty("操作人编号")
    private String operatorNum;

    /** 审批人名称 */
    @Excel(name = "审批人名称")
    @ApiModelProperty("审批人名称")
    private String examinName;

    /** 列表是否修改字段（前端使用） */
    private Boolean clickEdit = false;

}
